const readline = require("readline");
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let n;
let initArr = [];
rl.on("line", (line)=>{
    if(n === undefined) {
        n = Number(line.trim())
    } else {
        initArr = line.trim().split(" ").map(Number)
        console.log(getResult(initArr, n))
        // clear
        n = undefined
        initArr.length =0
    }
})

/**
 *
 * @param initArr {[number]}
 * @param n {number}
 * @return {number} mvp 最低的分数
 */
function getResult(initArr, n) {
    // 优先考虑多人拿mvp
    let total = initArr.reduce((acc, num)=> acc + num, 0)
    for (let i = n; i >= 1 ; i--) {
        let average = total/i
        if(!Number.isInteger(average)) continue;
        initArr.sort((a,b) => b - a) // 排序, 大在前
        if(isvalid(average, i, initArr)) {
            return average;
        }
    }
}

function isvalid(average, i, initArr) {
    // 木桶加水理论
    let arr = new Array(i).fill(0)
    for (const number of initArr) {
        let flag = false;
        for (let j = 0; j <i ; j++) {
            if(number + arr[j] <= average) {
                arr[j]+=number;
                arr.sort((a, b)=> b - a); // 排序, 大在前?
                flag = true;
                break;
            }

        }
        if(!flag) {
            return false; // 有水装不进木桶
        }
    }
    return true
}
